/**
 * @author: Gene
 * @age: 永远18岁的美少年
 * @Email： yangjianyun@58.com
 * @date: 2021-12-23 13:40:39
 * @description: ts 中 Partial 和 Readonly 关键字
 */


/** */
interface IPerson {
    name: string
    age: number
}

/**  Partial 关键字的使用 */
type PersonPersonal = Partial<IPerson>

// Partial<Person> 这样的语法格式得到类型别名 PersonOptional，等价于：
// PersonPersonal 等价于 PersonOptional

type PersonOptional = {
    name?: string
    age?: number
}

/**  Readonly 关键字的使用 */
type PersonReadonly1 = Readonly<IPerson>
// 相当于
type PersonReadonly = {
    readonly name: string
    readonly age: number
}